<?php

// 命名空间
namespace Xzb\Ci3\Database\Eloquent\Traits\Attributes;

/**
 * 附加 属性
 */
trait Appends
{
    /**
     * 附加 属性
     *
     * @var array
     */
    protected $appends = [];

    /**
     * 设置 附加 属性
     *
     * @param array $appends
     * @return $this
     */
    public function setAppends(array $appends)
    {
        $this->appends = $appends;

        return $this;
    }

    /**
     * 获取 附加 属性
     *
     * @return array
     */
    public function getAppends(): array
    {
        return $this->append;
    }

    /**
     * 附加 属性
     *
     * @param array|string $attributes
     * @return $this
     */
    public function append($attributes)
    {
        $this->appends = array_unique(
            array_merge($this->appends, is_string($attributes) ? func_get_args() : $attributes)
        );

        return $this;
    }

}

